A separation logic for negative dependence

نویسندگان

چکیده

Formal reasoning about hashing-based probabilistic data structures often requires random variables where when one variable gets larger (such as the number of elements hashed into bucket), others tend to be smaller (like other buckets). This is an example negative dependence , a generalization independence that has recently found interesting applications in algorithm design and machine learning. Despite usefulness for analyses structures, existing verification methods cannot establish this property randomized programs. To fill gap, we LINA, separation logic dependence. Following recent works on using separating conjunction reason variables, use Our assertion features two conjunctions, We generalize bunched implications (BI) support multiple provide sound complete proof system. Notably, semantics relies non-deterministic rather than partial, operation combining resources. By drawing closure properties dependence, our program supports Frame-like rule monotone operations. demonstrate how LINA can verify hash-based balls-into-bins processes.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A separation logic for a promising semantics

We present SLR, the first expressive program logic for reasoning about concurrent programs under a weak memory model addressing the out-of-thin-air problem. Our logic includes the standard features from existing logics, such as RSL and GPS, that were previously known to be sound only under stronger memory models: (1) separation, (2) per-location invariants, and (3) ownership transfer via releas...

متن کامل

A separation logic for a promising semantics

This is the technical appendix accompanying the article “A separation logic for a promising semantics”. It contains a soundness proof for the SLR logic. The programming language and logic presented in this appendix extends the programming language and logic presented in the paper with plain accesses. The programming language has further been extended with compare-and-swap operations and the log...

متن کامل

A Simple Separation Logic

The kinds of models that are usually considered in separation logic are structures such as words, trees, and more generally pointer structures (heaps). In this paper we introduce the separation logic of much simpler structures, viz. sets. The models of our set separation logic are nothing but valuations of classical propositional logic. Separating a valuation V consists in splitting it up into ...

متن کامل

Separation Logic: A Logic for Shared Mutable Data Structures

In joint work with Peter O’Hearn and others, based on early ideas of Burstall, we have developed an extension of Hoare logic that permits reasoning about low-level imperative programs that use shared mutable data structure. The simple imperative programming language is extended with commands (not expressions) for accessing and modifying shared structures, and for explicit allocation and dealloc...

متن کامل

A Separation Logic for Fictional Sequential Consistency

To improve performance, modern multiprocessors and programming languages typically implement relaxed memory models that do not require all processors/threads to observe memory operations in the same order. To relieve programmers from having to reason directly about these relaxed behaviors, languages often provide efficient synchronization primitives and concurrent data structures with stronger ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2022

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3498719